This invention relates to the field of network systems, and in particular to an analysis method and system that distinguishes congestion and other delays that occur during the communication of messages across a network.
Proper management of a network generally requires assuring that the network is performing satisfactorily for the users of the network, modifying the network to address performance issues or problems, and planning for future improvements to the network as demand increases and as newer technologies and alternatives become available.
A variety of tools have been developed, and continue to be developed, to facilitate the management of communication networks, and in particular for managing networks that provide communications among computer devices. Many of these tools are configured to model the network's performance under a variety of traffic conditions, both real and hypothesized, and in many cases, base this performance on data collected from the actual network.
One of the primary parameters for analyzing or assessing the performance of a network is the time it takes for messages to reliably reach their destination. This time is dependent upon a variety of factors. The message is typically partitioned into transmission elements, herein termed packets for convenience. Each packet must enter the network, and incurs a delay as it gains network access. When it enters the network, it incurs a delay that is dependent upon the bandwidth available at each link along its path to its destination. It may also incur queuing delays as it passes through intermediate nodes, particularly at congested links. Upon arrival at the receiving node, a delay may also be incurred as the proper receipt of the message is verified. Some of these factors are constant, while others vary over time, typically dependent on network loading.
The effectiveness of a network analysis system is based on a number of factors, one of which is the system's ability to distinguish the variety of causes of message delay, and another is the system's ability to assess the effect of potential network modifications on each of these classes of delay. Although some causes of delay are relatively straightforward to distinguish into defined classes, such as “bandwidth delay” and “propagation delay”, many other causes are often indistinguishable and are included in a general class of “protocol/congestion delays”. As such, little guidance is provided for identifying potential network modifications beyond modifications that address reducing the bandwidth delay at identified ‘bottlenecks’ of the network.
It would be advantageous to be able to distinguish among the causes of delay whose effects are generally classified as protocol/congestion delays. It would also be advantageous to distinguish delays that are actually caused by congestion from other causes of delay. It would also be advantageous to identify an amount of reduction in delay that may be achieved by reducing each distinguished cause of delay.
These advantages, and others, can be realized by a method and system that distinguishes between congestion and protocol delay, as well as bandwidth and propagation delay. Application messages are segregated into message paths, and the delays of the transmitted packets associated with each message path are independently analyzed to distinguish propagation, bandwidth, congestion, and protocol delays. To further distinguish the congestion delays, all of the paths of the application messages are assessed to identify self-congestion delay, corresponding to pre-congestion delays caused by attempting to send data from a source device faster than the bandwidth of the channel allows, and cross-congestion delay, corresponding to post-congestion delays caused by varying delays after a bottleneck link of the channel. The remaining congestion delay is identified as network congestion delay, corresponding to delays caused by network devices other than the source device. After identifying each of the components of delay, the effect of each component on the overall delay is determined to identify where improvements can best be made.
Throughout the drawings, the same reference numerals indicate similar or corresponding features or functions. The drawings are included for illustrative purposes and are not intended to limit the scope of the invention.